﻿using System;
using System.Collections.Generic;
using System.Text;
using CharacterTrailLibrary.Persist.BLL.Model;

namespace CharacterTrailLibrary.Interface
{
    public interface IProductPersist
    {
        List<TProductBaseModel> GetProductBaseModels(string condition);
        List<TProductDetailModel> GetProductDetailModels(string condition);
        List<TProductHeaderModel> GetProductHeaderModels(string condition);

        List<VComponentScanBaseModel> GetVComponentScanBaseModels(string condition);

        TProductHeaderModel GetProductHeaderModel(string barCode);

        TProductHeaderModel GetProductHeaderModel(string barCode,string procedureNo);

        void SaveProductBaseModels(List<TProductBaseModel> list);
        void SaveProductDetailModels(List<TProductDetailModel> list);
        void SaveProductHeaderModels(List<TProductHeaderModel> list);

        void DeleteProductBaseModels(List<TProductBaseModel> list);
        void DeleteProductDetailModels(List<TProductDetailModel> list);
        void DeleteProductHeaderModels(List<TProductHeaderModel> list);

        void InsertProductBaseModel(TProductBaseModel baseModel);

        void SaveProductHeaderAndDetailModels(List<TProductHeaderModel> headerModels,
                                              List<TProductDetailModel> detailModels);
    }
}
